package com.wyh.service.groupOne.customer;


import com.github.pagehelper.PageInfo;
import com.wyh.domain.vo.groupOne.customer.CustomerAccuratelyVO;
import com.wyh.domain.vo.groupOne.customer.MasterDataCustomerVO;
import com.wyh.domain.vo.groupOne.customer.MasterDataProjectVO_1;

import java.util.List;

public interface MasterDataCCustomerService {
    /**
     * 查询所有客户
     *
     * @param customer
     * @return
     */
    List<MasterDataCustomerVO> selectAll(MasterDataCustomerVO customer);


    /**
     * 精准查询
     *
     * @param
     * @return
     */
    List<MasterDataCustomerVO> selectAccurately(CustomerAccuratelyVO customerVO);


    /**
     * 添加客户
     *
     * @param customer
     * @return
     */
    int insert(MasterDataCustomerVO customer);


    /**
     * 查询详情--基础信息
     */
    MasterDataCustomerVO selectDetailBasic(Integer id);

    /**
     * 修改客户信息
     *
     * @param customer
     * @return
     */
    int update(MasterDataCustomerVO customer);

    /**
     * 修改客户状态
     */
    int updateState(MasterDataCustomerVO masterDataCustomerVO);

    /**
     * 根据客户名称、电话或证件号查询
     */
    List<MasterDataCustomerVO> selectByOther(String input);


    /**
     * 查询所有楼盘名称
     * @return
     */
    List<MasterDataProjectVO_1> selectAllName();

    /**
     * 分页精准查询客户
     * @param customer
     * @param pageNum
     * @param pageSize
     * @return
     */
    PageInfo<MasterDataCustomerVO> selectPage(CustomerAccuratelyVO customer, Integer pageNum, Integer pageSize);
}
